按下JoyStick的不同按键(上下左右中),根据电阻分压原理,会在公共端(连接到STM32的
* PA.00)产生不同的电压。通过检测PA.00采样到的电压值,我们就可以判断是哪个按键按下,
* 从而实现按键扫描功能。
AdcValue = Get_Adc_Average(ADC1,ADC_Channel_0);//读取摇杆的ADC值
OLED_ShowxNum(32,16,AdcValue,3,16,0x03);//显示ADC的值
Voltage = (float)AdcValue*(3.3/4096);
AdcValue = Voltage;
OLED_ShowxNum(64,16,AdcValue,1,16,0x01);//显示电压值
Voltage -= AdcValue;
Voltage *= 1000;
OLED_ShowxNum(80,16,Voltage,3,16,0x81);
switch(key)
{
case KEY_CENTER:
OLED_ShowString(0,32,"KEY_CENTER 5");
LED_5();
break;
case KEY_UP:
OLED_ShowString(0,32,"KEY_UP 1");
LED_1();
break;
case KEY_LEFT:
OLED_ShowString(0,32,"KEY_LEFT 3");
LED_3();
break;
case KEY_DOWN:
OLED_ShowString(0,32,"KEY_DOWN 2");
LED_2();
break;
case KEY_RIGHT:
OLED_ShowString(0,32,"KEY_RIGHT 4");
LED_4();
break;
case KEY_NONE:
default:
break;
}
评论